// ChartDemoDlg.h : header file
//

#if !defined(AFX_CHARTDEMODLG_H__1C3B17D7_0821_47FC_B873_9D9337728F79__INCLUDED_)
#define AFX_CHARTDEMODLG_H__1C3B17D7_0821_47FC_B873_9D9337728F79__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "ChartCtrl.h"
#include "ColourPicker.h"
#include "ChartLineSerie.h"
#include "DataProc\pch.h"
#include "afxwin.h"

# define MAX_RANGE 1000

/////////////////////////////////////////////////////////////////////////////
// CChartDemoDlg dialog

class CChartDemoDlg : public CDialog
{
// Construction
public:
	CChartDemoDlg(CWnd* pParent = NULL);	// standard constructor
 
// Dialog Data
	//{{AFX_DATA(CChartDemoDlg)
	enum { IDD = IDD_CHARTDEMO_DIALOG };
	CMenu m_Menu;
	CButton	m_LegendVisBtn;
	CColourPicker	m_BackgndColSel;
	//}}AFX_DATA

	std::vector<std::vector<bool>> map;
	void* param_dlg = 0;
	uint32_t map_x_size;
	uint32_t map_y_size;
	double grid_length;
	int map_scale;
	pos_pack pp;
	bool com_ok = false;

	std::vector<int> pointX_list;
	std::vector<int> pointY_list;
	std::vector<int> posX_list;
	std::vector<int> posY_list;
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CChartDemoDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CChartDemoDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
//	afx_msg void OnAddseries();
	afx_msg void OnLegendVisible();
//	afx_msg void OnAxisGridVisCheck();
	afx_msg LONG OnChangeBckCol(UINT lParam, LONG wParam);
	afx_msg void OnPanCheck();
	afx_msg void OnZoomCheck();
	afx_msg void OnSaveImage();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

	void OnMenuSelect(UINT nItemID, UINT nFlags, HMENU hSysMenu);

	CChartAxis* GetSelectedAxis();
//	CChartGrid m_ChartGrid;
	CChartCtrl m_ChartCtrl;

	void OnInitAxis();
	void AddSeries(std::vector<int> pointX_list, std::vector<int> pointY_list, int SeriesType);
	void ShowDataInAxis(int SeriesType);

public:
//	afx_msg void OnLbnSelchangeSeriesList();
	afx_msg void OnTimer(UINT_PTR nIDEvent);
	afx_msg void OnConnectDrone();
	afx_msg void OnExit();
	CEdit m_editHeight;
	CEdit m_editPosX;
	CEdit m_editPosY;
	CEdit m_editYaw;
	afx_msg void OnGrvisible();
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_CHARTDEMODLG_H__1C3B17D7_0821_47FC_B873_9D9337728F79__INCLUDED_)
